This invention relates to reporting Caller ID (CID) data to electronic devices and, more particularly, to reporting CID data to controllers and computer systems meeting operational features of the Audio Codec ""97 Component Specifications.
To provide a standard interface for computer system audio applications, Intel Corporation has sponsored the Audio Codec ""97 (AC-97) Component Specification. Note that, as used herein, AC-97 operational specifications include the current AC-97 operational specifications and any revisions or updates to those specifications, as well as any follow-on specifications that incorporate features of the current AC-97 operational specifications. The Audio CODEC ""97 Component Specification (AC97), revision 2.1 (May 22, 1998) is hereby incorporated by reference in its entirety. The AC-97 specifications enable a controller to communicate with a variety of devices. Some of these devices may use or operate on Caller ID (CID) data provided by the telephone company. CID data typically provides infomiation about the identity of a calling party, the telephone number of the calling party, the time of the call, etc.
The AC-97 specifications provide a means of reporting the CID data, typically up to 256 characters (1 byte each) over a serial link. To do so, a software program must invoke a channel buffer of an AC-97 host computer. Using the channel buffer in this manner, however, has several disadvantages. First, the software program has no way of determining the size of the buffer before reporting of the CID data commences. Thus, the software program must allocate the largest size possible. Second, the reporting of the CID data can take a long time. Because the software program has no way of knowing the contents of the CID data, it must allow for the transmission of the entire data set, even though it may need only the first few bytes of data. Third, the data have an indeterminate address within the buffer because of the timing of their arrival. The unknown timing of the arrival of the first word of data from the buffer after the allocation of buffer space and subsequent enabling of data storage in the buffer results in indeterminate address for the first data word. Put another way, because the buffer receives the data words sequentially, the data block as a whole has an indeterminate offset address within the buffer. As a result, the software program must perform additional procedures to identify the offset address within the buffer. Typically, the software program must search the entire data block for specific words or groups of words, for example special codes identifying data headers. Poor reception resulting in bit errors in the received data, however, may cause the search to produce erroneous results that would require further processing to avoid reporting incorrect CID data to the end user. The AC-97 specifications fail to provide any mechanisms or features to combat these problems.
This invention provides Caller ID (CID) data-reporting apparatus and associated methods for solving the disadvantages of receiving CID data through AC-97 channel buffers. CID data-reporting circuitry according to the invention reports Caller ID data by using the AC-97 status and control channels and without using the AC-97 audio channels.
In one embodiment, the invention constitutes direct-access-arrangement (DAA) circuitry including interface circuitry configured to operate within the AC-97 operational specifications. The interface circuitry receives input data and provides output data. The direct-access-arrangement circuitry also includes Caller ID data circuitry coupled to the interface circuitry. The Caller ID data-reporting circuitry provides Caller ID data to the interface circuitry asynchronously. More specifically, the Caller ID data-reporting circuitry provides the Caller ID data in one-word increments at non-pre-determined intervals.
In another embodiment, the invention constitutes an integrated circuit device configured to operate within the AC-97 operational specifications. The integrated circuit device includes interface circuitry configured to operate within the AC-97 operational specifications. The interface circuitry receives input data and provides output data. The integrated circuit device also includes Caller ID data circuitry coupled to the interface circuitry. The Caller ID data-reporting circuitry provides Caller ID data to the interface circuitry asynchronously in one-word increments. More specifically, the Caller ID data-reporting circuitry provides the Caller ID data at non-pre-determined intervals.
In yet another embodiment, the invention constitutes a computer system that includes direct-access-arrangement circuitry for coupling the computer system to data lines. The computer system includes a processor configured to process data and to decode and process instructions; a controller, coupled to the processor, and configured to operate within the AC-97 operational specifications; direct-access-arrangement circuitry, coupled to the controller, and configured to operate within the AC-97 operational specifications; and Caller ID data-reporting circuitry coupled to the direct-access-arrangement circuitry. The Caller ID data-reporting circuitry provides Caller ID data to the direct-access-arrangement circuitry asynchronously in one-word increments. The direct-access-arrangement circuitry communicates with the controller. More specifically, the Caller ID data-reporting circuitry provides the Caller ID data at non-pre-determined intervals.
In an alternative embodiment, the invention constitutes a computer system that includes circuitry configured to operate within the AC-97 operational specifications. The computer system includes a controller configured to operate within the AC-97 operational specifications; an integrated circuit device coupled to the controller, and Caller ID data-reporting circuitry within the integrated circuit device. The integrated circuit device operates within the AC-97 operational specifications and communicates with the controller. The Caller ID data-reporting circuitry receives Caller ID data and provides Caller ID data to the controller asynchronously. More specifically, the Caller ID data-reporting circuitry provides the Caller ID data in one-word increments at non-pre-determined intervals.
In another aspect, the invention constitutes a method for reporting Caller ID data in a computer system. The method includes providing a host processor configured to process data and to decode and process instructions, and providing direct-access-arrangement circuitry configured to operate within the AC-97 operational specifications. The direct-access-arrangement circuitry includes Caller ID data-reporting circuitry that provides Caller ID data asynchronously in one-word increments. The method further includes receiving Caller ID data in the Caller ID data-reporting circuitry and providing the Caller ID data to the host processor. More specifically, the Caller ID data-reporting circuitry provides the Caller ID data to the device at non-pre-determined intervals.
In another embodiment, the invention constitutes a method for reporting Caller ID data. The method includes providing direct-access-arrangement circuitry that operates within the AC-97 operational specifications. The direct-access-arrangement circuitry includes Caller ID data-reporting circuitry that receives Caller ID and provides Caller ID asynchronously. The method further includes receiving Caller ID data in the Caller ID data-reporting circuitry and providing the Caller ID data to a device. The device may comprise a host processor or a controller. More specifically, the Caller ID data-reporting circuitry provides the Caller ID data in one-word increments at non-pre-determined intervals.